/*
 * =====================================================================================
 *
 *       Filename:  cl_socket_addr_factory.hxx
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  05/05/2011 12:16:45 PM
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  Ken Chen (Ken), chen_kenz@emc.com
 *        Company:  EMC
 *
 * =====================================================================================
 */

#ifndef _CL_SOCKET_ADDR_FACTORY_HXX_
#define _CL_SOCKET_ADDR_FACTORY_HXX_

#include <sys/socket.h>
#include <string> 
#include "cl_common_defs.hxx"

namespace neo
{
class CLSocketAddr;
class CLSocketAddrFactory
{
public:
  static CLSocketAddr* create(const std::string& host, 
                              int port, 
                              CLSocketType type);
  static CLSocketAddr* create(const struct sockaddr* sa);
};

} // neo

#endif //_CL_SOCKET_ADDR_FACTORY_HXX_

